"""
总结：封装就是将属性私有化，
方法一：定义set,get方法。
方法二：[使用装饰器@property(get),@方法名.setter(set)](mailto:使用装饰器@property(get),@方法名.setter(set))
方法三：可以用_类名__私有属性名 ，访问类中的私有属
用dir(),或者对象名.__dir__() ,查看里面的属性
"""
# 方法一
# class Studnet:
#     def __init__(self,age):
#         self.__age = age
#
#     def getName(self):
#         return self.__age
#
#     def setName(self,age):
#         if age<6:
#             self.__age = age
#         else:
#             print("名字小于6位")
#     def __str__(self):
#         return self.__age+"你好"
# stu = Studnet(0)
# stu.setName(10)
# print(stu.getName())

# class Studnet:
#     def __init__(self,name):
#         self.__name = name
#     @property
#     def name(self):
#         return self.__name
#     @name.setter
#     def name(self,name):
#         if len(name)>1:
#             self.__name = name
#         else:
#             print("输入的姓名必须大于1")
# stu = Studnet(" ")
# stu.name = "aa"
# print(stu.name)

class Studnet:
    def __init__(self,name):
        self.__name = name

s = Studnet("bbb")
print(s._Studnet__name)